home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / utils / file / managers / mc-3.2 / mc-3 / mc-3.2.1 / src / main.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-17  |  4.1 KB  |  153 lines

  1. #ifndef __MAIN_H
  2. #define __MAIN_H
  3. /* Toggling functions */
  4. void toggle_eight_bit (void);
  5. void toggle_clean_exec (void);
  6. void toggle_show_backup (void);
  7. void toggle_show_hidden (void);
  8. void toggle_show_mini_status (void);
  9. void toggle_align_extensions (void);
  10. void toggle_mix_all_files (void);
  11. void toggle_fast_reload (void);
  12. void toggle_confirm_delete (void);
  13.  
  14. enum {
  15.     RP_NOCLEAR,
  16.     RP_CLEAR
  17. };
  18.  
  19. #define UP_OPTIMIZE 0
  20. #define UP_RELOAD   1
  21. #define UP_ONLY_CURRENT  2
  22.  
  23. #define UP_KEEPSEL (char *) -1
  24.  
  25. extern int quote;
  26. extern volatile int quit;
  27.  
  28. /* Execute functions: the base and the routines that use it */
  29. void do_execute (const char *shell, const char *command, int internal_command);
  30. #define execute_internal(command,args) do_execute (command, args, 1)
  31.  
  32. /* Execute functions that use the shell to execute */
  33. void shell_execute (char *command, int internal_command);
  34. void execute (char *command);
  35.  
  36. /* This one executes a shell */
  37. void exec_shell ();
  38.  
  39. void subshell_chdir (char *command);
  40.  
  41. /* See main.c for details on these variables */
  42. extern int mark_moves_down;
  43. extern int auto_menu;
  44. extern int pause_after_run;
  45. extern int auto_save_setup;
  46. extern int use_internal_view;
  47. extern int fast_reload_w;
  48. extern int clear_before_exec;
  49. extern int mou_auto_repeat;
  50. extern char *other_dir;
  51. extern int mouse_move_pages;
  52. extern int mouse_move_pages_viewer;
  53. extern int eight_bit_clean;
  54. extern int full_eight_bits;
  55. extern int confirm_view_dir;
  56. extern int fast_refresh;
  57. extern int navigate_with_arrows;
  58. extern int advanced_chfns;
  59. extern int drop_menus;
  60. extern int xterm_flag;
  61. extern int cd_symlinks;
  62. extern int show_all_if_ambiguous;
  63. extern int slow_terminal;
  64. extern int update_prompt;    /* To comunicate with subshell */
  65. extern int confirm_delete;
  66. extern int confirm_exit;
  67. extern int confirm_overwrite;
  68. extern int iconify_on_exec;
  69. extern int force_colors;
  70. extern int boot_current_is_left;
  71. extern int acs_vline;
  72. extern int acs_hline;
  73. extern int use_file_to_check_type;
  74. extern int searching;
  75. extern int vfs_use_limit;
  76. extern int alternate_plus_minus;
  77. extern int only_leading_plus_minus;
  78. extern int ftpfs_directory_timeout;
  79. extern int output_starts_shell;
  80. extern int midnight_shutdown;
  81. extern char search_buffer [256];
  82. extern char cmd_buf [512];
  83.  
  84. /* The menu panels */
  85. extern int is_right;        /* If the selected menu was the right */
  86. #define MENU_PANEL (is_right ? right_panel : left_panel)
  87. #define SELECTED_IS_PANEL (get_display_type (is_right ? 1 : 0) == view_listing)
  88.  
  89. /* Useful macros to avoid too much typing */
  90. #define cpanel current_panel
  91. #define opanel other_panel
  92.  
  93. typedef void (*key_callback) ();
  94. /* FIXME: We have to leave this type ambiguous, because `key_callback'
  95.    is used both for functions that take an argument and ones that don't.
  96.    That ought to be cleared up. */
  97.  
  98. /* The keymaps are of this type */
  99. typedef struct {
  100.     int   key_code;
  101.     key_callback fn;
  102. } key_map;
  103.  
  104. void update_panels (int force_update, char *current_file, char *other_file);
  105. void repaint_screen (void);
  106. void outrefresh_screen (void);
  107. void suspend_cmd (void);
  108. void do_update_prompt (void);
  109.  
  110. extern char control_file [];
  111. extern char *shell;
  112.  
  113. /* FIXME: remove this when using slang */
  114. extern const int status_using_ncurses;
  115.  
  116. void clr_scr (void);
  117. void restore_console (void);
  118.  
  119. /* int do_panel_cd (WPanel *panel, char *new_dir); */
  120. /* FIXME: this declaration is *needed*, but forces every file that
  121.    includes main.h to include panel.h first!  Really, main.c shouldn't
  122.    be a repository for all the little auxiliary functions that are used
  123.    elsewhere.  do_panel_cd should be moved to util.c or somewhere. */
  124.  
  125. int do_cd (char *new_dir);    /* For find.c */
  126. void change_panel (void);
  127. void init_sigchld (void);    /* For subshell.c */
  128. int load_prompt (int fd, void *unused);
  129. void save_cwds_stat (void);
  130. void copy_prog_name (void);
  131.  
  132. void untouch_bar (void);
  133. void touch_bar (void);
  134. void load_hint (void);
  135.  
  136. void print_vfs_message(char *msg, ...);
  137.  
  138. extern char *prompt;
  139.  
  140. int maybe_cd (int char_code, int move_up_dir);
  141. void do_possible_cd (char *dir);
  142.  
  143. #ifdef WANT_WIDGETS
  144. extern WButtonBar *the_bar;
  145. extern WLabel     *the_prompt;
  146. extern WLabel     *the_hint;
  147. extern Dlg_head   *midnight_dlg;
  148. #include "menu.h"
  149. extern WMenu      *the_menubar;
  150. #endif
  151.  
  152. #endif
  153.